#ifndef DESENHAR_H
#define DESENHAR_H

#include "Carregar.h"
//incluir interface pra texto

void Desenhar();

void Desenhar()
{
	switch(estado)
	{
	case LOADING:
		SDL_BlitSurface(Loading.frente.imagem, &Loading.frente.quadro, janela, &Loading.frente.posicao);
		SDL_BlitSurface(Barra_Loading.imagem, &Barra_Loading.quadro, janela, &Barra_Loading.posicao);
		break;
	case INTRODUCAO:
		SDL_BlitSurface(Introducao.frente.imagem, &Introducao.frente.quadro, janela, &Introducao.frente.posicao);
		break;
	case CONTROLES:
		SDL_BlitSurface(Controles.frente.imagem, &Controles.frente.quadro, janela, &Controles.frente.posicao);
		break;
	case MENU:
		SDL_BlitSurface(Menu.frente.imagem, &Menu.frente.quadro, janela, &Menu.frente.posicao);
		SDL_BlitSurface(iniciar.imagem, &iniciar.quadro, janela, &iniciar.posicao);
		SDL_BlitSurface(creditos.imagem, &creditos.quadro, janela, &creditos.posicao);
		SDL_BlitSurface(sair.imagem, &sair.quadro, janela, &sair.posicao);
		SDL_BlitSurface(indicador.imagem, &indicador.quadro, janela, &indicador.posicao);
		break;
	case CREDITOS:
		SDL_BlitSurface(Creditos.frente.imagem, &Creditos.frente.quadro, janela, &Creditos.frente.posicao);
		break;
	case FASE1:
		SDL_BlitSurface(Fase1.frente.imagem, &Fase1.frente.quadro, janela, &Fase1.frente.posicao);
		if(Fundo_Colisao.fundo.visivel)
		{
		SDL_BlitSurface(Fundo_Colisao.fundo.imagem, &Fundo_Colisao.fundo.quadro, janela, &Fundo_Colisao.fundo.posicao);
		}
		
		//rettemp = Bison.posicao;
		//SDL_BlitSurface(Bison.imagem, &Bison.quadro, janela, &rettemp);		
		//for(i = 0; i < QNT_INIMIGOS; i++ )
		//{
		//rettemp = inimigo[i].posicao;
		//if(inimigo[i].visivel)
		//SDL_BlitSurface(inimigo[i].imagem, &inimigo[i].quadro, janela, &rettemp);
		//}
		for(i = 0; i < QNT_INIMIGOS; i++ )
		{
		rettemp = inimigo[i].posicao_colisao;
			if(inimigo[i].visivel_colisao)
				SDL_BlitSurface(inimigo[i].imagem_colisao, &inimigo[i].quadro_colisao, janela, &rettemp);
		}
		//SDL_BlitSurface(Ken.imagem, &Ken.quadro, janela, &Ken.posicao);
		if(Hadouken.visivel)
		{
		rettemp = Hadouken.posicao;
		SDL_BlitSurface(Hadouken.imagem , &Hadouken.quadro, janela, &rettemp);
		}
		if(Hadouken.visivel_colisao)
		{
		rettemp = Hadouken.posicao_colisao;
		SDL_BlitSurface(Hadouken.imagem_colisao , &Hadouken.quadro_colisao, janela, &rettemp);
		}





    Inimigo H;
	Inimigo B;
	H.posicao = Ken.posicao;
	H.quadro = Ken.quadro;
	H.imagem = Ken.imagem;
	B.posicao = Bison.posicao;
	B.quadro = Bison.quadro;
	B.imagem = Bison.imagem;
	Inimigo v[QNT_INIMIGOS+2];
	v[0] = H;
	v[1] = B;
	for(tmp_a = 2;tmp_a<QNT_INIMIGOS+2;tmp_a++)
		v[tmp_a] = inimigo[tmp_a-2];
	Inimigo temp_test;
	for(tmp_i = 0; tmp_i < QNT_INIMIGOS + 2; tmp_i++)
	{ 
	    for(tmp_j = 0; tmp_j < QNT_INIMIGOS + 2; tmp_j++)
		{ 
			if(v[tmp_i].posicao.y < v[tmp_j].posicao.y)
			{ 
				temp_test = v[tmp_i]; 
                v[tmp_i] = v[tmp_j]; 
                v[tmp_j] = temp_test; 
            } 
         } 
	}
	for (tmp_x = 0; tmp_x < QNT_INIMIGOS + 2; tmp_x++)
	{
		if(v[tmp_x].visivel)
		SDL_BlitSurface(v[tmp_x].imagem, &v[tmp_x].quadro , janela , &v[tmp_x].posicao);
	}













		if(Fundo_Colisao.fundo.visivel)
		{
		/*SDL_BlitSurface(Ken.colisao_chute_forte_direita, NULL, janela, &Ken.posicao);
		SDL_BlitSurface(Ken.colisao_chute_forte_esquerda, NULL, janela, &Ken.posicao);
		SDL_BlitSurface(Ken.colisao_soco_forte_direita, NULL, janela, &Ken.posicao);
		SDL_BlitSurface(Ken.colisao_soco_forte_esquerda, NULL, janela, &Ken.posicao);
		SDL_BlitSurface(Ken.colisao_chute_fraco_direita, NULL, janela, &Ken.posicao);
		SDL_BlitSurface(Ken.colisao_chute_fraco_esquerda, NULL, janela, &Ken.posicao);
		SDL_BlitSurface(Ken.colisao_soco_fraco_direita, NULL, janela, &Ken.posicao);
		SDL_BlitSurface(Ken.colisao_soco_fraco_esquerda, NULL, janela, &Ken.posicao);
		*/
		}
		SDL_BlitSurface(Ken_icone.frente.imagem, &Ken_icone.frente.quadro, janela, &Ken_icone.frente.posicao);
		SDL_BlitSurface(Barra_Completa.imagem, &Barra_Completa.quadro, janela, &Barra_Completa.posicao);
		SDL_BlitSurface(Barra_HP.imagem, &Barra_HP.quadro, janela, &Barra_HP.posicao);
		SDL_BlitSurface(Barra_SP.imagem, &Barra_SP.quadro, janela, &Barra_SP.posicao);
		break;

	case PAUSA:
        SDL_BlitSurface(Fase1.frente.imagem, &Fase1.frente.quadro, janela, &Fase1.frente.posicao);
		SDL_BlitSurface(Ken.imagem, &Ken.quadro, janela, &Ken.posicao);
		if(Hadouken.visivel)
		{
		SDL_BlitSurface(Hadouken.imagem , &Hadouken.quadro, janela, &Hadouken.posicao);
		}
		for(i = 0; i < QNT_INIMIGOS; i++ ) //vai do 0 ao 14
		{
		rettemp = inimigo[i].posicao;
		SDL_BlitSurface(inimigo[i].imagem, &inimigo[i].quadro, janela, &rettemp);
		}
		rettemp = Bison.posicao;
		SDL_BlitSurface(Bison.imagem, &Bison.quadro, janela, &rettemp);
		SDL_BlitSurface(Pausa.frente.imagem, &Pausa.frente.quadro, janela, &Pausa.frente.posicao);
		break;
	case FASE2:
		SDL_BlitSurface(Fase2.frente.imagem, &Fase2.frente.quadro, janela, &Fase2.frente.posicao);
		break;
	case GAMEOVER:
			SDL_BlitSurface(GameOver.frente.imagem, &GameOver.frente.quadro, janela, &GameOver.frente.posicao);
		break;
	}
	SDL_Flip(janela);
}			
#endif